package com.gopay.common.domain.ptbank;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Version;
import java.util.Date;

/**
 * Entity: G商融通托管银行表
 */
@Entity
@Table(name = "GSRT_BANK_SUPERVISE_NAME")
public class GsrtBankSuperviseName implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	private Long id;

	/** 
	 * 乐观锁版本号
	 */
	private Long version;

	/** 
	 * 银行平台ID
	 */
	private Long bankSuperviseId;

	/** 
	 * 托管银行名称
	 */
	private String bankSuperviseName;

	/** 
	 * 银行编码
	 */
	private String bankCode;

	/** 
	 * 银行状态 正常：01；失效：02
	 */
	private String bankState;

	/** 
	 * 创建时间
	 */
	private Date createdTs;

	private String commentRk;

	/** 
	 * 记录最后修改时间
	 */
	private Date lastUpdTs;

	private String remark;

	private String remark2;

	private String remark3;

	/**
	 * 国付宝内部银行编码   001  恒丰银行；002 其他
	 */
	private String bankNo;

	public GsrtBankSuperviseName() {
	}

	public GsrtBankSuperviseName(Long id, Long version, Long bankSuperviseId, String bankSuperviseName, String bankCode,
								 String bankState, Date createdTs, String commentRk, Date lastUpdTs, String remark,
								 String remark2, String remark3, String bankNo) {
		this.id = id;
		this.version = version;
		this.bankSuperviseId = bankSuperviseId;
		this.bankSuperviseName = bankSuperviseName;
		this.bankCode = bankCode;
		this.bankState = bankState;
		this.createdTs = createdTs;
		this.commentRk = commentRk;
		this.lastUpdTs = lastUpdTs;
		this.remark = remark;
		this.remark2 = remark2;
		this.remark3 = remark3;
		this.bankNo = bankNo;
	}

	@Id
	@SequenceGenerator(name = "GsrtBankSuperviseNameSequence", sequenceName = "GSRT_BANK_SUPERVISE_NAME_SEQ")
	@GeneratedValue(generator = "GsrtBankSuperviseNameSequence", strategy = GenerationType.SEQUENCE)
	@Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Version
	@Column(name = "VERSION", precision = 22, scale = 0)
	public Long getVersion() {
		return this.version;
	}

	public void setVersion(Long version) {
		this.version = version;
	}

	@Column(name = "BANK_SUPERVISE_ID", nullable = false, precision = 22, scale = 0)
	public Long getBankSuperviseId() {
		return this.bankSuperviseId;
	}

	public void setBankSuperviseId(Long bankSuperviseId) {
		this.bankSuperviseId = bankSuperviseId;
	}

	@Column(name = "BANK_SUPERVISE_NAME", nullable = false, length = 50)
	public String getBankSuperviseName() {
		return this.bankSuperviseName;
	}

	public void setBankSuperviseName(String bankSuperviseName) {
		this.bankSuperviseName = bankSuperviseName;
	}

	@Column(name = "BANK_CODE", nullable = false, length = 10)
	public String getBankCode() {
		return this.bankCode;
	}

	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}

	@Column(name = "BANK_STATE", nullable = false, length = 50)
	public String getBankState() {
		return this.bankState;
	}

	public void setBankState(String bankState) {
		this.bankState = bankState;
	}

	@Column(name = "CREATED_TS", nullable = false, length = 50)
	public Date getCreatedTs() {
		return this.createdTs;
	}

	public void setCreatedTs(Date createdTs) {
		this.createdTs = createdTs;
	}

	@Column(name = "COMMENT_RK", length = 50)
	public String getCommentRk() {
		return this.commentRk;
	}

	public void setCommentRk(String commentRk) {
		this.commentRk = commentRk;
	}

	@Column(name = "LAST_UPD_TS", nullable = false)
	public Date getLastUpdTs() {
		return this.lastUpdTs;
	}

	public void setLastUpdTs(Date lastUpdTs) {
		this.lastUpdTs = lastUpdTs;
	}

	@Column(name = "REMARK", length = 50)
	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "REMARK2", length = 50)
	public String getRemark2() {
		return this.remark2;
	}

	public void setRemark2(String remark2) {
		this.remark2 = remark2;
	}

	@Column(name = "REMARK3", length = 50)
	public String getRemark3() {
		return this.remark3;
	}

	public void setRemark3(String remark3) {
		this.remark3 = remark3;
	}

	@Column(name = "BANK_NO", length = 10)
	public String getBankNo() {
		return bankNo;
	}

	public void setBankNo(String bankNo) {
		this.bankNo = bankNo;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);
	}

}
